The present invention relates to merging and developing labels in a business solution software program. In particular, the present invention relates to a label database and a label dialog used in developing and merging labels in modules for the business solution software.
Business solution software programs provide an end user, typically a corporation, with a customizable, scalable and global enterprise resource planning solution that supports connectivity with the user's various business partners. Many business solution software programs provide the ability to expand the basic functionality of the software beyond the original product to further meet the needs of the implementing corporation. This new or additional functionality is provided through additional modules that are written to take advantage of the existing features and existing data contained within the business solution software. Often these additional modules automatically synchronize the software and the existing data with both the old and new functionalities of the business solution software.
Some business solution software provides the ability to conduct business in different countries, across multiple languages and in multiple currencies. Through the use of multi-language capabilities provided in business solution software it is possible to transmit documents, such as invoices, in the recipients preferred language. However, changing the language of the documents in current systems requires loading the new language into the business solution software, and changing the entire operating language of the system.
Communication in different available languages of the business solution software is handled through the use of a plurality of labels. Labels are text that appear on a user interface component, or in a printed document. Labels can be used on menus, buttons, dialog boxes, etc. Further, labels can be used on controls that has label properties such as “label”, “help”, “caption” and “tool tip”. The labels in current business solution software are stored in separate resource files with one resource file dedicated to each language used by the business solution software. Further, each module in the business solution software has its own resource file that is not shared with other modules, or the business solution software itself.
Throughout the development of business solution software there has been a strong desire among developers to reuse existing labels. However, it has been observed that it is not as advantageous to reuse existing labels, because various properties associated with a term of the label can change between different uses, or the meaning of a label can vary between different developers. This can create problems when a term is changed. For example, a label text can be used in a menu on one application and a button on another, thus resulting in different properties for each label. What most developers desired was to reuse the terms or text that comprise the labels so as to reduce the costs associated with developing labels for various modules on the system.
As mentioned above, typically, in business solution software modules the labels are kept in resource files. However, current business solution software does not use the generic resource files that are available through database metadata stores, such as structured query language (SQL) tables or through web services. Typically these labels, in the business solution software, are module specific, and are stored in proprietary resource files with one resource file dedicated to each language present in the module. One problem associated with using proprietary resource files is that when a developer desires to replace or edit a portion of the labels in one module with new information or properties contained in another resource file the development system does not look for another label in other modules of the business solution software having the same label properties and/or terminology as the desired label. Further, using resource files makes the management of labels extremely difficult due to the large number of labels present in the software solution. However, in a business solutions environment the business solution software is required to handle a number of different solutions that are developed by multiple vendors. Often times the developers of these modules are developing labels that overlap with labels developed for other modules in the business solution software. The costs associated with developing labels, and translating (when multi-language support is desired) the labels is expensive and time consuming, especially when the label and its translations already exist elsewhere in the business solution software. Therefore, it is desirable to have a label system that uses the combined contributions of the various module vendors, as opposed to a completely proprietary system that requires each vendor to develop its own labels for each desired label. Further, it is desirable for a system that makes it possible to search existing label texts and provides the ability to reuse the text while still handling that the context in which the label is used might differ from the use of the label when it was originally created.